﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ESupervision.Models;

namespace ESupervision.Services
{
    /// <summary>
    /// Notification Serive use for send out notification about some events on E-Supervision system.
    /// </summary>
    public interface INotificationService
    {
        /// <summary>
        /// Send allocation event to students
        /// </summary>
        /// <param name="students">List of student</param>
        /// <returns></returns>
        Task SendAllocatedNotificationToStudents(List<Student> students);
        /// <summary>
        /// Send allocation event to teachers
        /// </summary>
        /// <param name="teachers">List of teacher</param>
        /// <returns></returns>
        Task SendAllocatedNotificationToTeachers(List<Teacher> teachers);
        /// <summary>
        /// Sent deallocation event to teachers
        /// </summary>
        /// <param name="teachers">List of teacher</param>
        /// <returns></returns>
        Task SendDeallocatedNotificationToTeachers(List<Teacher> teachers);
    }
}
